package pers.leeyns.rd.base;

/**
 * @description 随机字符生成器
 * @author Leeyns
 * @date 2016年2月16日
 */
public class RandomStringGenerator extends BaseRandom{
	private static final long serialVersionUID = 3730163504526853063L;

	private final static String STRING_MODEL = "ABCDEFAGHIJKLMNOPQRSTUVWXYZabcdefaghijklmnopqrstuvwxyz1234567890";
	/**
	 * 构建 RandomStringGenerator对象
	 * @return
	 */
	public static synchronized RandomStringGenerator build() {
		return new RandomStringGenerator();
	}
	
	/**
	 * 在 res 字符串中随机获取一个字符
	 * @param res
	 * @return
	 */
	public String getRandomString(String res){
		return String.valueOf(res.charAt(this.nextInt(res.length())));
	}
	
	/**
	 * 在 res 字符串中随机获取一个字符,字符有重复
	 * @param res
	 * @return
	 */
	public String getRandomString(String res,int length){
		StringBuffer sbf = new StringBuffer();
		for(int i =0;i< length;i++){
			sbf.append(getRandomString(res));
		}
		return sbf.toString();
	}
	
	public String getRandomString(int length){
		return getRandomString(STRING_MODEL, length);
	}
}
